package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.util.Date;

import static org.jsola.core.example.BaseExample.*;
import static org.jsola.core.example.BaseExample.E_MODIFIED_USER_ID;
import static org.jsola.hr.example.AttendPeopleMonthlyStatExample.*;
import static org.jsola.hr.example.AttendanceMonthlyExample.*;
import static org.jsola.hr.example.OfferInfoExample.E_SALARY_BASIC;
import static org.jsola.hr.example.OfferInfoExample.N_SALARY_BASIC;
import static org.jsola.core.example.BaseExample.E_GMT_CREATE;
import static org.jsola.core.example.BaseExample.E_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.E_ID;
import static org.jsola.core.example.BaseExample.N_GMT_CREATE;
import static org.jsola.core.example.BaseExample.N_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.N_ID;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_ABSENTEEISM_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_ABSENTEEISM_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_BUSINESS_COMMISSION;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_COMPANY_ID;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_EMP_ID;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LATE_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LATE_MINUTES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LATE_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LEAVE_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LEAVE_MINUTES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_LEAVE_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_MONTH;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_NUMBER;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_OTHERS_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_OTHERS_DED_REMARK;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_OVERALL_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_OVERALL_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_OVERTIME_PAY;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_PERSON_TAX_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_PF_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_REMARK;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_SOC_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_STATUS;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_SUBSIDY;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_SUPPLEMENT_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_SUPPLEMENT_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_TEAM_COMMISSION;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_UNCHECKED_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_UNCHECKED_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_WORKING_DAYS;
import static org.jsola.hr.example.AttendanceMonthlyExample.E_YEAR;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_ABSENTEEISM_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_ABSENTEEISM_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_BUSINESS_COMMISSION;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_COMPANY_ID;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_EMP_ID;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LATE_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LATE_MINUTES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LATE_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LEAVE_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LEAVE_MINUTES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_LEAVE_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_MONTH;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_NUMBER;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_OTHERS_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_OTHERS_DED_REMARK;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_OVERALL_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_OVERALL_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_OVERTIME_PAY;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_PERSON_TAX_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_PF_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_REMARK;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_SOC_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_STATUS;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_SUBSIDY;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_SUPPLEMENT_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_SUPPLEMENT_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_TEAM_COMMISSION;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_UNCHECKED_DED;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_UNCHECKED_TIMES;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_WORKING_DAYS;
import static org.jsola.hr.example.AttendanceMonthlyExample.N_YEAR;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【员工考勤月统计】详情展示对象")
@Data
public class AttendanceMonthlyVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_EMP_ID, example = E_EMP_ID)
    private String empId;

    @ApiModelProperty(notes = N_EMP_NAME, example = E_EMP_NAME)
    private String empName;

    @ApiModelProperty(notes = N_NUMBER, example = E_NUMBER)
    private String number;

    @ApiModelProperty(notes = N_YEAR, example = E_YEAR)
    private String year;

    @ApiModelProperty(notes = N_MONTH, example = E_MONTH)
    private String month;

    @ApiModelProperty(notes = N_LATE_TIMES, example = E_LATE_TIMES)
    private Integer lateTimes;

    @ApiModelProperty(notes = N_LATE_DED, example = E_LATE_DED)
    private Integer lateDed;

    @ApiModelProperty(notes = N_LATE_MINUTES, example = E_LATE_MINUTES)
    private Integer lateMinutes;

    @ApiModelProperty(notes = N_LEAVE_TIMES, example = E_LEAVE_TIMES)
    private Integer leaveTimes;

    @ApiModelProperty(notes = N_LEAVE_DED, example = E_LEAVE_DED)
    private Integer leaveDed;

    @ApiModelProperty(notes = N_LEAVE_MINUTES, example = E_LEAVE_MINUTES)
    private Integer leaveMinutes;

    @ApiModelProperty(notes = N_ABSENTEEISM_TIMES, example = E_ABSENTEEISM_TIMES)
    private Integer absenteeismTimes;

    @ApiModelProperty(notes = N_ABSENTEEISM_DED, example = E_ABSENTEEISM_DED)
    private Integer absenteeismDed;

    @ApiModelProperty(notes = N_UNCHECKED_TIMES, example = E_UNCHECKED_TIMES)
    private Integer uncheckedTimes;

    @ApiModelProperty(notes = N_UNCHECKED_DED, example = E_UNCHECKED_DED)
    private Integer uncheckedDed;

    @ApiModelProperty(notes = N_SUPPLEMENT_TIMES, example = E_SUPPLEMENT_TIMES)
    private Integer supplementTimes;

    @ApiModelProperty(notes = N_SUPPLEMENT_DED, example = E_SUPPLEMENT_DED)
    private Integer supplementDed;

    @ApiModelProperty(notes = N_OVERALL_TIMES, example = E_OVERALL_TIMES)
    private Integer overallTimes;

    @ApiModelProperty(notes = N_OVERALL_DED, example = E_OVERALL_DED)
    private Integer overallDed;

    @ApiModelProperty(notes = N_COMPANY_ID, example = E_COMPANY_ID)
    private String companyId;

    @ApiModelProperty(notes = N_OTHERS_DED, example = E_OTHERS_DED)
    private Integer othersDed;

    @ApiModelProperty(notes = N_OTHERS_DED_REMARK, example = E_OTHERS_DED_REMARK)
    private String othersDedRemark;

    @ApiModelProperty(notes = N_SOC_DED, example = E_SOC_DED)
    private Integer socDed;

    @ApiModelProperty(notes = N_PF_DED, example = E_PF_DED)
    private Integer pfDed;

    @ApiModelProperty(notes = N_PERSON_TAX_DED, example = E_PERSON_TAX_DED)
    private Integer personTaxDed;

    @ApiModelProperty(notes = N_WORKING_DAYS, example = E_WORKING_DAYS)
    private Integer workingDays;

    @ApiModelProperty(notes = N_TEAM_COMMISSION, example = E_TEAM_COMMISSION)
    private Integer teamCommission;

    @ApiModelProperty(notes = N_BUSINESS_COMMISSION, example = E_BUSINESS_COMMISSION)
    private Integer businessCommission;

    @ApiModelProperty(notes = N_OVERTIME_PAY, example = E_OVERTIME_PAY)
    private Integer overtimePay;

    @ApiModelProperty(notes = N_SUBSIDY, example = E_SUBSIDY)
    private Integer subsidy;

    @ApiModelProperty(notes = N_STATUS, example = E_STATUS)
    private Integer status;

    @ApiModelProperty(notes = N_REMARK, example = E_REMARK)
    private String remark;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;

    @ApiModelProperty(notes = N_IS_VALID, example = E_IS_VALID)
    private Boolean valid;

    @ApiModelProperty(notes = N_SITE_ID, example = E_SITE_ID)
    private String siteId;

    @ApiModelProperty(notes = N_CREATE_USER_ID, example = E_CREATE_USER_ID)
    private String createUserId;

    @ApiModelProperty(notes = N_MODIFIED_USER_ID, example = E_MODIFIED_USER_ID)
    private String modifiedUserId;

    @ApiModelProperty(notes = N_SALARY_BASIC, example = E_SALARY_BASIC)
    private Integer salaryBasic;

    @ApiModelProperty(notes = N_ATTEND_DAYS, example = E_ATTEND_DAYS)
    private Integer attendDays;

    @ApiModelProperty(notes = N_SHOULD_WORK_DAYS, example = E_SHOULD_WORK_DAYS)
    private Integer shouldWorkDays;



}

